1
Con đường đến tính năng tính toán GPU đa nền tảng
AI022Lesson 4
00:00

Đây là Giao diện tính toán đa dạng cho khả năng di động (HIP) cung cấp một API thời gian chạy C++ để trừu tượng hóa các lớp phần cứng, mang lại một cơ sở mã thống nhất cho cả GPU NVIDIA và AMD. Con đường này loại bỏ hiện tượng bị khóa vào nhà cung cấp bằng cách mô phỏng môi trường CUDA trong khi hướng tới nền tảng ROCm nền tảng.

1. Cấu hình môi trường

Khởi tạo bắt đầu bằng việc thiết lập các biến môi trường để chỉ định trình biên dịch hipcc trình biên dịch đến công cụ phù hợp:

$ export HIP_PATH=[MYHIP]
$ export PATH=$PATH:[MYHIP]/bin

2. Chuẩn hóa công cụ xây dựng

Đây là hipcc trình biên dịch hoạt động như một bao thông minh. Để tự động hóa quá trình xây dựng, logic HIP_PATH ?= $(shell hipconfig --path) giúp file Makefile của bạn tìm kiếm cài đặt HIP một cách động, bất kể cấu hình hệ thống.

3. Logic phiên bản

HIP sử dụng một công thức phiên bản xác định để xử lý khả năng sử dụng tính năng một cách có chương trình qua các phiên bản phát hành:

$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$

Mã nguồn HIPNVIDIA (NVCC)AMD (Clang/ROCm)

4. Các tương đương về thời gian chạy chính

HIP cung cấp hipMallochipLaunchKernel như các bản sao chức năng cho các lời gọi bộ nhớ và thực thi của CUDA, giúp thúc đẩy triết lý phát triển "nguồn duy nhất".

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>